package coll

import "gitee.com/hongzhaomin/hzm-common-go/streams"

type Collection[E comparable] interface {

	// Add 向集合中添加一个元素ele
	Add(ele E)

	// Remove 移除集合中的一个元素ele
	Remove(ele E) bool

	// Size 返回集合的长度
	Size() int

	// Contains 判断集合中是否包含元素ele
	Contains(ele E) bool

	// IsEmpty 判断集合是否为空集合
	IsEmpty() bool

	// Stream 转为streams.Stream[T]接口
	Stream() streams.Stream[E]

	// ForEach for循环
	ForEach(f func(e E))
}
